/*   
 * IWebServiceFaced.java Created on 2006-12-27   
 * Copyright(c) 2006-2008 by vnv   
 * ALL Rights Reserved.   
 */   
package cn.agiledata.bank.webService.faced;   
   
import cn.agiledata.bank.webService.formbean.*;
/**
 *    
 * TODO to change this type comment   
 * @date 2006-12-27 
 * @author  maxianbo
 */

public interface IIVRWebServiceFaced {

	/**
	 * User validate base IVR username and IVR passwd. 
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse loginUser(IVRRequest request);

	/**
	 * Order payment
	 * @param request
	 * @return
	 */
	public abstract IVRResponse orderFormPayment(IVRRequest request);

	/**
	 * Account fill money
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse accountTopup(IVRRequest request);

	/** wingfeng add this method on depend the current doc 2006-11-24 */
	/**
	 * 账户提现
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse accountDistillCash(IVRRequest request);

	/**
	 * 账户转账
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse accountTransfer(IVRRequest request);

	/**
	 * 账户付款
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse accountPayment(IVRRequest request);

	/**
	 * 银行卡互转
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse bankCardChange(IVRRequest request);

	/**
	 * 查询子帐户余额
	 * @param request
	 * @return
	 */
	public abstract IVRResponse getSubAccountBalance(IVRRequest request);
	/**
	 * 查询用户
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse searchAccount(IVRRequest request);

	/**
	 * 取得子账户列表
	 *
	 * @param request
	 * @return ????????????????????????
	 */
	public abstract IVRResponse getSubAccountList(IVRRequest request);

	/**
	 * 查询子账户余额
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse searchSubaccountBlance(IVRRequest request);

	/**
	 * 查询积分
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse searchIntegral(IVRRequest request);

	/**
	 * 查询交易历史
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse searchTransactionHistory(IVRRequest request);

	/**
	 * 待处理交易
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse searchWaitTransaction(IVRRequest request);

	/**
	 * 修改电话登录密码
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse modifyPhoneLoginPasswd(IVRRequest request);

	/**
	 * 修改电话支付密码
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse modifyPhoneLoginPaymentPasswd(IVRRequest request);

	/**
	 * 设置电话支付密码
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse setPhoneLoginPaymentPasswd(IVRRequest request);

	/**
	 * 修改交易最大限额
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse modifyTransactionBiglimit(IVRRequest request);

	/**
	 * 取得用户子账户
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse getSubAccount(IVRRequest request);

	

	/**
	 * 取得支持的银行
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse getSupportBank(IVRRequest request);

	/**
	 * 取得用户账户
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse getAccount(IVRRequest request);

	/**
	 * 用户预注册接口
	 *
	 * @param request
	 * @return
	 */
	public abstract IVRResponse PrepRegister(IVRRequest request);

	
	/*************************************************************
	 * Get the tranaction poundage
	 * @param request
	 * @return
	 *************************************************************
	 */
	public abstract IVRResponse getTransactionPoundage(IVRRequest request);
	/**
	 * 银行卡
	 * @param request
	 * @return
	 */
	public abstract IVRResponse accountList(IVRRequest request);
	
}
